	.text
	.align	2

start:
	MOV r0, #array
	MOV r1, #4
	MOV r2, #24
	MOV r3, #28
	MOV r4, #32
	
	// Store Test
	// STB rd, [rs1]
	MOV r8, #128
	MOV r9, r8 << #24
	ADD r9, r8, r9
	STB r9, [r0]
	// STW rd, [rs1]
	STW r9, [r0]
	// STB rd, [rs1+], rs2
	STB r9, [r0+], r1
	// STW rd, [rs1+], rs2
	STW r9, [r0+], r1
	// STW rd, [rs1+], rs2 << #s_imm5
	STW r9, [r0+], r1 << #1

	// Load Test
	// LDB rd, [rs1]
	LDB r10, [r0]
	STW r10, [r0+], r2
	// LDW rd, [rs1]
	LDW r10, [r0]
	STW r10, [r0+], r2
	// LDB rd, [rs1+], rs2
	LDB r11, [r0+], r1
	STW r11, [r0+], r3
	// LDW rd, [rs1+], rs2
	LDW r11, [r0+], r1
	STW r11, [r0+], r3
	// LDW rd, [rs1+], rs2 << #s_imm5
	LDW r12, [r0+], r1 << #1
	STW r12, [r0+], r4

	HLT

array:
	.long 0
	.long 0
	.long 0
	.long 0
	.long 0
	.long 0
	.long 0
	.long 0
	.long 0

	
